j3deditor.bin.components
Class SimpleButton

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by j3deditor.bin.components.SimpleButton
All Implemented Interfaces:
java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

public class SimpleButton
extends javax.swing.JPanel
implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener

Button that reacts on mouse clicks or drags.

Author:
Risto Seene
See Also:
SimpleButtonEvent, SimpleButtonListener, Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static int CLICK
          specifies that this button is clickable button.
static int DISABLED_IMAGE
          specifies that an image will be applied to the "disabled" state of this button.
static int HORIZONTAL_DRAG
          specifies that this button is horizontally dragable button.
static int MOUSE_DOWN_IMAGE
          specifies that an image will be applied to the "mouse down" state of this button.
static int MOUSE_OVER_IMAGE
          specifies that an image will be applied to the "mouse over" state of this button.
static int MULTIPLE_DRAG
          specifies that this button is dragable button on both axes.
static int NORMAL_IMAGE
          specifies that an image will be applied to the "default" state of this button.
static int VERTICAL_DRAG
          specifies that this button is vertically dragable button.
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
SimpleButton(int type)
          Creates an instance of SimpleButton of the given type.
 
Method Summary
 void addSimpleButtonListener(SimpleButtonListener listener)
          Adds the given listener to this button.
 java.lang.String getButtonInfo()
          Returns the information text that describes this button.
 void mouseClicked(java.awt.event.MouseEvent e)
          Notifies listeners if this is clickable button.
 void mouseDragged(java.awt.event.MouseEvent e)
          Calculates drag distance and notifies listeners if this is draggable button.
 void mouseEntered(java.awt.event.MouseEvent e)
          Changes the state of this button.
 void mouseExited(java.awt.event.MouseEvent e)
          Changes the state of this button.
 void mouseMoved(java.awt.event.MouseEvent e)
          Doesn't do anything.
 void mousePressed(java.awt.event.MouseEvent e)
          Changes the state of this button and memorizes the current position of cursor.
 void mouseReleased(java.awt.event.MouseEvent e)
          Changes the state of this button.
protected  void paintComponent(java.awt.Graphics graphics)
          Paints the background image of this button according to current state.
 void removeSimpleButtonListener(SimpleButtonListener listener)
          Removes the specified listener.
 void setButtonInfo(java.lang.String info)
          Sets the information text that describes this button.
 void setEnabled(boolean isEnabled)
          Enables/disables this button.
 void setImage(java.awt.Image image, int type)
          Applies the given image to the specified state of this button.
 void setImage(java.lang.String fileName, int type)
          Applies the given image to the specified state of this button.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getWidth, getVisibleRect, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

CLICK

public static final int CLICK
specifies that this button is clickable button.

See Also:
Constant Field Values

HORIZONTAL_DRAG

public static final int HORIZONTAL_DRAG
specifies that this button is horizontally dragable button.

See Also:
Constant Field Values

VERTICAL_DRAG

public static final int VERTICAL_DRAG
specifies that this button is vertically dragable button.

See Also:
Constant Field Values

MULTIPLE_DRAG

public static final int MULTIPLE_DRAG
specifies that this button is dragable button on both axes.

See Also:
Constant Field Values

NORMAL_IMAGE

public static final int NORMAL_IMAGE
specifies that an image will be applied to the "default" state of this button.

See Also:
Constant Field Values

MOUSE_OVER_IMAGE

public static final int MOUSE_OVER_IMAGE
specifies that an image will be applied to the "mouse over" state of this button.

See Also:
Constant Field Values

MOUSE_DOWN_IMAGE

public static final int MOUSE_DOWN_IMAGE
specifies that an image will be applied to the "mouse down" state of this button.

See Also:
Constant Field Values

DISABLED_IMAGE

public static final int DISABLED_IMAGE
specifies that an image will be applied to the "disabled" state of this button.

See Also:
Constant Field Values
Constructor Detail

SimpleButton

public SimpleButton(int type)
Creates an instance of SimpleButton of the given type.

Parameters:
type - the type of this button: CLICK, HORIZONTAL_DRAG, VERTICAL_DRAG, MULTIPLE_DRAG
Method Detail

setImage

public void setImage(java.lang.String fileName,
                     int type)
Applies the given image to the specified state of this button. Loads the images from this applications JAR file.

Parameters:
fileName - name of the image file
type - type of the image: NORMAL_IMAGE, MOUSE_OVER_IMAGE, MOUSE_DOWN_IMAGE, DISABLED_IMAGE

setImage

public void setImage(java.awt.Image image,
                     int type)
Applies the given image to the specified state of this button.

Parameters:
image - image that will be applied to this button
type - type of the image: NORMAL_IMAGE, MOUSE_OVER_IMAGE, MOUSE_DOWN_IMAGE, DISABLED_IMAGE

setEnabled

public void setEnabled(boolean isEnabled)
Enables/disables this button.

Overrides:
setEnabled in class javax.swing.JComponent
Parameters:
isEnabled - if true enables this button, otherwise disables

addSimpleButtonListener

public void addSimpleButtonListener(SimpleButtonListener listener)
Adds the given listener to this button.

Parameters:
listener - listener that will be added to this button

removeSimpleButtonListener

public void removeSimpleButtonListener(SimpleButtonListener listener)
Removes the specified listener.

Parameters:
listener - listener that will be removed from this button

paintComponent

protected void paintComponent(java.awt.Graphics graphics)
Paints the background image of this button according to current state.

Overrides:
paintComponent in class javax.swing.JComponent
Parameters:
graphics - Graphics object sent by method caller

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Changes the state of this button and memorizes the current position of cursor.

Specified by:
mousePressed in interface java.awt.event.MouseListener
Parameters:
e - MouseEvent object that describes occured mouse event

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Changes the state of this button.

Specified by:
mouseReleased in interface java.awt.event.MouseListener
Parameters:
e - MouseEvent object that describes occured mouse event

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
Notifies listeners if this is clickable button.

Specified by:
mouseClicked in interface java.awt.event.MouseListener
Parameters:
e - MouseEvent object that describes occured mouse event

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Changes the state of this button.

Specified by:
mouseEntered in interface java.awt.event.MouseListener
Parameters:
e - MouseEvent object that describes occured mouse event

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Changes the state of this button.

Specified by:
mouseExited in interface java.awt.event.MouseListener
Parameters:
e - MouseEvent object that describes occured mouse event

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent e)
Doesn't do anything.

Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener
Parameters:
e - MouseEvent object that describes occured mouse event

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent e)
Calculates drag distance and notifies listeners if this is draggable button.

Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener
Parameters:
e - MouseEvent object that describes occured mouse event

setButtonInfo

public void setButtonInfo(java.lang.String info)
Sets the information text that describes this button.

Parameters:
info - input text

getButtonInfo

public java.lang.String getButtonInfo()
Returns the information text that describes this button.

Returns:
Returns the information text that describes this button